/**
 * 智能体发布接口
 */
const robotPublishApi = {
    /**
     * 发布渠道列表
     *
     * @param {Object} params
     * @param {number} [params.page_no] 当前页码
     * @param {number} [params.page_size] 每页条数
     * @param {string} [params.scene] 场景: [window,api]
     * @returns {Promise<RobotPublishListResponse[]>}
     * @author zero
     */
    lists(params: {
        page_no?: number;
        page_size?: number;
        scene: string;
        bot: string;
    }): Promise<RobotPublishListResponse[]> {
        return $request.get<RobotPublishListResponse[]>({
            url: '/agent/robot/publish/lists',
            params
        })
    },

    /**
     * 发布渠道创建
     *
     * @param {Object} params
     * @param {string} params.name 名称
     * @param {string} params.scene 场景
     * @param {string} [params.api_secret] 访问密码
     * @param {number} [params.max_points] 最大额度
     * @param {number} [params.rpm_limit] 每分钟限制
     * @param {string} [params.expire_time] 失效时间
     * @returns {Promise<any>}
     * @author zero
     */
    add(params: {
        name: string;
        scene: string;
        api_secret: string;
        max_points: number | string;
        rpm_limit: number | string;
        expire_time: string;
    }): Promise<any> {
        return $request.post({
            url: '/agent/robot/publish/add',
            params
        })
    },

    /**
     * 发布渠道编辑
     *
     * @param params
     * @param {number} params.id 渠道ID
     * @param {string} params.name 名称
     * @param {string} [params.api_secret] 访问密码
     * @param {number} [params.max_points] 最大额度
     * @param {number} [params.rpm_limit] 每分钟限制
     * @param {string} [params.expire_time] 失效时间
     * @returns {Promise<any>}
     * @author zero
     */
    edit(params: {
        id: number,
        name: string;
        api_secret: string;
        max_points: number | string;
        rpm_limit: number | string;
        expire_time: string;
    }): Promise<any> {
        return $request.post({
            url: '/agent/robot/publish/edit',
            params
        })
    },

    /**
     * 发布渠道删除
     *
     * @param {number} id 渠道ID
     * @returns {Promise<any>}
     * @author zero
     */
    delete(id: number): Promise<any> {
        return $request.post({
            url: '/agent/robot/publish/delete',
            params: {
                id
            }
        })
    }
}

export default robotPublishApi
